<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>路漫漫其修远兮，吾将上下而求索</title><meta name="author" content="Charles Yan"><meta name="copyright" content="Charles Yan"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="脑子有智慧，心里有担当，事事有着落，见见有回应">
<meta property="og:type" content="website">
<meta property="og:title" content="路漫漫其修远兮，吾将上下而求索">
<meta property="og:url" content="https://yan_zilong.gitee.io/gitee.io/page/2/index.html">
<meta property="og:site_name" content="路漫漫其修远兮，吾将上下而求索">
<meta property="og:description" content="脑子有智慧，心里有担当，事事有着落，见见有回应">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://yan_zilong.gitee.io/gitee.io/img/My%20avatar.jpg">
<meta property="article:author" content="Charles Yan">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://yan_zilong.gitee.io/gitee.io/img/My%20avatar.jpg"><link rel="shortcut icon" href="/gitee.io/img/favicon.ico"><link rel="canonical" href="https://yan_zilong.gitee.io/gitee.io/page/2/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/gitee.io/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = { 
  root: '/gitee.io/',
  algolia: undefined,
  localSearch: {"path":"search.xml","languages":{"hits_empty":"找不到您查询的内容：${query}"}},
  translate: {"defaultEncoding":2,"translateDelay":0,"msgToTraditionalChinese":"繁","msgToSimplifiedChinese":"简"},
  noticeOutdate: undefined,
  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
  copy: {
    success: '复制成功',
    error: '复制错误',
    noSupport: '浏览器不支持'
  },
  relativeDate: {
    homepage: true,
    post: false
  },
  runtime: '天',
  date_suffix: {
    just: '刚刚',
    min: '分钟前',
    hour: '小时前',
    day: '天前',
    month: '个月前'
  },
  copyright: undefined,
  lightbox: 'mediumZoom',
  Snackbar: {"chs_to_cht":"你已切换为繁体","cht_to_chs":"你已切换为简体","day_to_night":"你已切换为深色模式","night_to_day":"你已切换为浅色模式","bgLight":"#49b1f5","bgDark":"#121212","position":"bottom-left"},
  source: {
    jQuery: 'https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js',
    justifiedGallery: {
      js: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/js/jquery.justifiedGallery.min.js',
      css: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/css/justifiedGallery.min.css'
    },
    fancybox: {
      js: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js',
      css: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.css'
    }
  },
  isPhotoFigcaption: false,
  islazyload: false,
  isanchor: true
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
  title: '路漫漫其修远兮，吾将上下而求索',
  isPost: false,
  isHome: true,
  isHighlightShrink: false,
  isToc: false,
  postUpdate: '2021-12-31 09:59:06'
}</script><noscript><style type="text/css">
  #nav {
    opacity: 1
  }
  .justified-gallery img {
    opacity: 1
  }

  #recent-posts time,
  #post-meta time {
    display: inline !important
  }
</style></noscript><script>(win=>{
    win.saveToLocal = {
      set: function setWithExpiry(key, value, ttl) {
        if (ttl === 0) return
        const now = new Date()
        const expiryDay = ttl * 86400000
        const item = {
          value: value,
          expiry: now.getTime() + expiryDay,
        }
        localStorage.setItem(key, JSON.stringify(item))
      },

      get: function getWithExpiry(key) {
        const itemStr = localStorage.getItem(key)

        if (!itemStr) {
          return undefined
        }
        const item = JSON.parse(itemStr)
        const now = new Date()

        if (now.getTime() > item.expiry) {
          localStorage.removeItem(key)
          return undefined
        }
        return item.value
      }
    }
  
    win.getScript = url => new Promise((resolve, reject) => {
      const script = document.createElement('script')
      script.src = url
      script.async = true
      script.onerror = reject
      script.onload = script.onreadystatechange = function() {
        const loadState = this.readyState
        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
        script.onload = script.onreadystatechange = null
        resolve()
      }
      document.head.appendChild(script)
    })
  
      win.activateDarkMode = function () {
        document.documentElement.setAttribute('data-theme', 'dark')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
        }
      }
      win.activateLightMode = function () {
        document.documentElement.setAttribute('data-theme', 'light')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
        }
      }
      const t = saveToLocal.get('theme')
    
          if (t === 'dark') activateDarkMode()
          else if (t === 'light') activateLightMode()
        
      const asideStatus = saveToLocal.get('aside-status')
      if (asideStatus !== undefined) {
        if (asideStatus === 'hide') {
          document.documentElement.classList.add('hide-aside')
        } else {
          document.documentElement.classList.remove('hide-aside')
        }
      }
    
    const fontSizeVal = saveToLocal.get('global-font-size')
    if (fontSizeVal !== undefined) {
      document.documentElement.style.setProperty('--global-font-size', fontSizeVal + 'px')
    }
    })(window)</script><link rel="stylesheet" href="/css/selfdesign.css" media="defer" onload="this.media='all'"><meta name="generator" content="Hexo 5.4.0"></head><body><div id="loading-box"><div class="loading-left-bg"></div><div class="loading-right-bg"></div><div class="spinner-box"><div class="configure-border-1"><div class="configure-core"></div></div><div class="configure-border-2"><div class="configure-core"></div></div><div class="loading-word">加载中...</div></div></div><div id="web_bg"></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="author-avatar"><img class="avatar-img" src="/gitee.io/img/My%20avatar.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data"><div class="data-item is-center"><div class="data-item-link"><a href="/gitee.io/archives/"><div class="headline">文章</div><div class="length-num">38</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/gitee.io/tags/"><div class="headline">标签</div><div class="length-num">22</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/gitee.io/categories/"><div class="headline">分类</div><div class="length-num">12</div></a></div></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/gitee.io/"><i class="fa-fw fa fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page" href="/gitee.io/archives/"><i class="fa-fw fa fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/gitee.io/tags/"><i class="fa-fw fa fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/gitee.io/categories/"><i class="fa-fw fa fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/gitee.io/messageboard/"><i class="fa-fw fa fa-coffee"></i><span> 留言板</span></a></div><div class="menus_item"><a class="site-page" href="/gitee.io/link/"><i class="fa-fw fa fa-link"></i><span> 友情链接</span></a></div><div class="menus_item"><a class="site-page" href="/gitee.io/about/"><i class="fa-fw fa fa-heart"></i><span> 关于</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fa fa-list"></i><span> 清单</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/gitee.io/music/"><i class="fa-fw fa fa-music"></i><span> 音乐</span></a></li><li><a class="site-page child" href="/gitee.io/movies/"><i class="fa-fw fa fa-film"></i><span> 电影</span></a></li><li><a class="site-page child" href="/gitee.io/Gallery/"><i class="fa-fw fas fa-images"></i><span> 照片</span></a></li></ul></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/16922.jpg')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/gitee.io/">路漫漫其修远兮，吾将上下而求索</a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search"><i class="fas fa-search fa-fw"></i><span> 搜索</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/gitee.io/"><i class="fa-fw fa fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page" href="/gitee.io/archives/"><i class="fa-fw fa fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/gitee.io/tags/"><i class="fa-fw fa fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/gitee.io/categories/"><i class="fa-fw fa fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/gitee.io/messageboard/"><i class="fa-fw fa fa-coffee"></i><span> 留言板</span></a></div><div class="menus_item"><a class="site-page" href="/gitee.io/link/"><i class="fa-fw fa fa-link"></i><span> 友情链接</span></a></div><div class="menus_item"><a class="site-page" href="/gitee.io/about/"><i class="fa-fw fa fa-heart"></i><span> 关于</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fa fa-list"></i><span> 清单</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/gitee.io/music/"><i class="fa-fw fa fa-music"></i><span> 音乐</span></a></li><li><a class="site-page child" href="/gitee.io/movies/"><i class="fa-fw fa fa-film"></i><span> 电影</span></a></li><li><a class="site-page child" href="/gitee.io/Gallery/"><i class="fa-fw fas fa-images"></i><span> 照片</span></a></li></ul></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">路漫漫其修远兮，吾将上下而求索</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/yan122927467" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:122927467@qq.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover left_radius"><a href="/gitee.io/2021/06/16/%E6%9C%AA%E5%91%BD%E5%90%8D/" title="butterfly demo项目">     <img class="post_bg" src="https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/12998.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="butterfly demo项目"></a></div><div class="recent-post-info"><a class="article-title" href="/gitee.io/2021/06/16/%E6%9C%AA%E5%91%BD%E5%90%8D/" title="butterfly demo项目">butterfly demo项目</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-06-16T07:46:31.551Z" title="发表于 2021-06-16 15:46:31">2021-06-16</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-07-05T01:16:41.717Z" title="更新于 2021-07-05 09:16:41">2021-07-05</time></span></div><div class="content">pie
    title Key elements in Product X
    &quot;Calcium&quot; : 42.96
    &quot;Potassium&quot; : 50.05
    &quot;Magnesium&quot; : 10.01
    &quot;Iron&quot; :  5

graph TD

​	

test1 1test1 2test1 3This is Tab 1.This is Tab 2.This is Tab 3.
Butterfly
Butterfly
Butterfly
Butterfly
Butterfly
Butterfly
Butterfly
臣亮言：先帝 创业未半，而中道崩殂 。今天下三分，益州疲敝 ，此诚危急存亡之秋 也！然侍衞之臣，不懈于内；忠志之士 ，忘身于外者，盖追先帝之殊遇，欲报之于陛下也。诚宜开张圣听，以光先帝遗德，恢弘志士之气；不宜妄自菲薄，引喻失义，以塞忠谏之路也。宫中、府中，俱为一体；陟罚臧否，不宜异同。若有作奸 、犯科 ，及为忠善者，宜付有司，论其刑赏，以昭陛下平明之治；不宜偏私，使内 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/gitee.io/2021/04/23/RSA%E5%AF%86%E7%A0%81/" title="无题">     <img class="post_bg" src="https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/12998.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="无题"></a></div><div class="recent-post-info"><a class="article-title" href="/gitee.io/2021/04/23/RSA%E5%AF%86%E7%A0%81/" title="无题">无题</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-04-23T14:41:22.056Z" title="发表于 2021-04-23 22:41:22">2021-04-23</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-04-25T06:06:29.227Z" title="更新于 2021-04-25 14:06:29">2021-04-25</time></span></div><div class="content">RSA密码一、什么是RSA算法
RSA算法是最常用的非对称加密算法，由三位麻省理工学院密码学者罗纳德·李维斯特（Ron Rivest）、阿迪·萨莫尔（Adi Shamir）和伦纳德·阿德曼（Leonard Adleman）于1977年一起提出，RSA就是他们三人姓氏开头字母拼在一起组成的。

RSA被誉为是一种风格优雅的公开密钥密码。由于RSA密码即可用于加密，又可用于数字签名，通俗易懂，因此RSA密码已成为最广泛的公开密钥密码。


二、RSA的加密算法
随机地选取两个大素数$p$和$q$，而且保密。
计算$n = pq$，将$n$公开。
计算$\varphi(n) = (p-1)(q-1)$，对$\varphi(n)$保密。
随机地选取一个正整数e，$1&lt;e&lt;\varphi(n)$且$(e,\varphi(n)) = 1$，将e公开。
根据$ed = 1\,\,\ mod \,\,\,\varphi(n)$，求出d，对d保密。
加密运算：


C = M^e \, mod \quad n
解密运算：


M = C^d\,mod \quad n示例（教材）：
选择素数： ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/gitee.io/2021/04/17/DES%E7%AE%97%E6%B3%95%E5%85%A8%E8%A7%A3/" title="DES算法全解+C语言实现（加密和解密）">     <img class="post_bg" src="https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=464616017,1330542316&amp;fm=26&amp;gp=0.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="DES算法全解+C语言实现（加密和解密）"></a></div><div class="recent-post-info"><a class="article-title" href="/gitee.io/2021/04/17/DES%E7%AE%97%E6%B3%95%E5%85%A8%E8%A7%A3/" title="DES算法全解+C语言实现（加密和解密）">DES算法全解+C语言实现（加密和解密）</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-04-16T16:00:00.000Z" title="发表于 2021-04-17 00:00:00">2021-04-17</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-07-04T03:12:04.697Z" title="更新于 2021-07-04 11:12:04">2021-07-04</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/gitee.io/categories/%E5%AF%86%E7%A0%81%E5%AD%A6%E5%AE%9E%E9%AA%8C/">密码学实验</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/gitee.io/tags/%E7%AE%97%E6%B3%95/">算法</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/gitee.io/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/">数据结构</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/gitee.io/tags/%E5%AF%86%E7%A0%81%E5%AD%A6/">密码学</a></span></div><div class="content">DES算法全解一、什么是DES算法
DES是(Data Encryption Standard）的缩写，为密码体制中的对称密码体制，又被称为美国数据加密标准。
DES是一种分组密码。明文，密文，密钥的分组长度都是64位。
DES是面向二进制的密码算法。因而能够加解密任何形式的计算机数据。
DES是对合运算，因而加密和解密共用同一算法，从而使工程实现的工作量减半
DES的密码结构属于Feistel结构

二、DES的加密过程
64位秘钥经子秘钥产生算法产生出16个子秘钥：$K1,K_2,…,K{16}$, 分别供第一次，第二次，… ，第十六次加密迭代使用。
64位明文首先经过初始置换$IP（Initial\quad permutation）$，将数据打乱重新排列并分成左右两半，左边32位构成$L_0$，右边32位构成$R_0$。
由加密函数$f$实现子密钥$K_1$对$R_0$的加密，结果为32位的数据组$f(R_0,K_1)$。$f(R_0,K_1)$再与$L_0$模2相加，又得到一个有32位的数据组$L_0\bigoplus f(R_0,K_1)$。以$L_0\bigoplus f( ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/gitee.io/2020/12/27/%E5%88%86%E6%94%AF%E9%99%90%E7%95%8C%E6%B3%95/" title="无题">     <img class="post_bg" src="https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/7801.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="无题"></a></div><div class="recent-post-info"><a class="article-title" href="/gitee.io/2020/12/27/%E5%88%86%E6%94%AF%E9%99%90%E7%95%8C%E6%B3%95/" title="无题">无题</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2020-12-27T04:43:32.681Z" title="发表于 2020-12-27 12:43:32">2020-12-27</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-12-27T04:43:32.681Z" title="更新于 2020-12-27 12:43:32">2020-12-27</time></span></div><div class="content">分支限界法问题描述：假设有n个任务由k个可并行工作的机器完成。完成任务i需要的时间为ti ,试设计一个算法找出完成这n个任务的最佳调度，使得完成全部任务的时间最早；
数据输入：第一行有2个正整数n和k，第二行的n个正整数是完成n个任务需要的
时间；
数据输出：将计算的完成全部任务的最早时间输出；
输入：
127 32 14 4 16 6 5 3
输出：
117
题解：n个任务，分配给k台机器，总需要的时间最短，分支限界法其实是穷举法加剪枝函数，我们的函数用到递归，层层返回。一共七层，每层的除去叶子节点都有三个孩子，每搜索到叶子节点就更新一次maxnum值（小于maxnum则更新）（初值为一个较大的数），是用一次搜索结束后三个机器中花费时间最长的机器的所用时间作为此次分配的所用时间。
一个任务存在n种状态，即选择被哪台机器所完成，程序分为两部分，上半部分是赋值，下半部分是剪枝，不断把符合条件的值往优先队列里整，并且通过循环，不断优化结果。
代码：
1234567891011121314151617181920212223242526272829303132333435363738#inc ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/gitee.io/2020/11/30/%E7%AE%97%E6%B3%95%E5%88%86%E6%9E%90%E4%B8%8E%E8%AE%BE%E8%AE%A1%E4%B9%8B%E5%9B%9E%E6%BA%AF%E6%B3%95/" title="无题">     <img class="post_bg" src="https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/12998.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="无题"></a></div><div class="recent-post-info"><a class="article-title" href="/gitee.io/2020/11/30/%E7%AE%97%E6%B3%95%E5%88%86%E6%9E%90%E4%B8%8E%E8%AE%BE%E8%AE%A1%E4%B9%8B%E5%9B%9E%E6%BA%AF%E6%B3%95/" title="无题">无题</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2020-11-30T08:39:18.365Z" title="发表于 2020-11-30 16:39:18">2020-11-30</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-12-02T13:30:49.141Z" title="更新于 2020-12-02 21:30:49">2020-12-02</time></span></div><div class="content">回溯法一、概要1. 什么是回溯法
可以系统的搜索一个问题的所有解或者任意解，他是一个既带有系统性又带有跳跃性的搜索算法。
回溯法求问题的一个解时，只要搜索到问题的一个解就可以结束。

2. 回溯法思想
针对所给问题，定义问题的解空间。
确定易于搜索的解空间结构
以深度有线方式搜索解空间，并在搜索过程中用剪枝函数避免无效搜索（剪枝函数： 用约束函数在扩展节点处减去不满足约束的子树，用限界函数剪去得不到最优解的子树。）

3. 回溯设计策略



装载问题
批处理作业调度




符号三角形问题
n后问题


0-1背包问题
图的m着色问题


最大团问题
旅行售货员问题


电路板排列问题
圆排列问题


电路板排列问题
连续邮资问题




4. 算法框架
递归回溯
迭代回溯
子集树算法框架
排列树算法框架

1. 装载问题当前载重量cw+剩余集装箱的重量r小于等于点前最优载重量bestw
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/gitee.io/2020/11/16/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95%EF%BC%88%E7%AE%97%E6%B3%95%E7%90%86%E8%A7%A3%E5%8A%A0%E7%BB%8F%E5%85%B8%E4%BE%8B%E9%A2%98%E8%A7%A3%E6%9E%90%EF%BC%89/" title="算法设计与分析之贪心算法">     <img class="post_bg" src="https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/3989.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="算法设计与分析之贪心算法"></a></div><div class="recent-post-info"><a class="article-title" href="/gitee.io/2020/11/16/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95%EF%BC%88%E7%AE%97%E6%B3%95%E7%90%86%E8%A7%A3%E5%8A%A0%E7%BB%8F%E5%85%B8%E4%BE%8B%E9%A2%98%E8%A7%A3%E6%9E%90%EF%BC%89/" title="算法设计与分析之贪心算法">算法设计与分析之贪心算法</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2020-11-16T05:16:49.911Z" title="发表于 2020-11-16 13:16:49">2020-11-16</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-12-25T12:19:16.198Z" title="更新于 2020-12-25 20:19:16">2020-12-25</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/gitee.io/categories/%E7%AE%97%E6%B3%95%E5%88%86%E6%9E%90%E4%B8%8E%E8%AE%BE%E8%AE%A1/">算法分析与设计</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/gitee.io/tags/%E4%B8%8A%E8%AF%BE%E7%AC%94%E8%AE%B0-%E7%AE%97%E6%B3%95/">上课笔记 - 算法</a></span></div><div class="content">贪心算法（算法理解加经典例题解析）一、概要1. 什么是贪心算法？
顾名思义，总是在作出当前看来最好的选择。

并不从整体最优考虑，只是某种程度上的局部最优选择。

不一定是最优解，但往往是最接近最优解的。


2. 贪心设计策略
活动安排问题
最优装载问题
哈夫曼编码
单源最短路径
最小生成树
多机调度问题

3. 贪心选择性质
贪心算法通常自顶向下的方式进行

最优子结构性质


二、习题解析1. 会场安排问题题目： 假设要在足够多的会场里安排一批活动，并希望使用尽可能少的会场。设计一个有效的贪心算法进行安排。（这个问题实际上是著名的图着色问题。若将每个活动作为一个图的顶点，不相容活动间用边相连。使相邻顶点着有不同颜色的最小着色数，相当于要找的最小会场数。）
数据输入： 第一行有一个正整数$k$ ，表示有$k$ 个待安排的活动，接下来的$k$ 行中，每行有2个正整数，分别表示$k$ 个待安排的活动屁那个的开始时间和结束时间。时间以0点开始的分钟计。
结果输出： 将计算的最少会场数输出
输入：
12345651 2312 2825 3527 8036 50
输出：
13
1.题解： 这 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/gitee.io/2020/11/14/%E7%AE%97%E6%B3%95%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90%E4%B9%8B%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/" title="算法设计与分析之动态规划">     <img class="post_bg" src="https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/3989.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="算法设计与分析之动态规划"></a></div><div class="recent-post-info"><a class="article-title" href="/gitee.io/2020/11/14/%E7%AE%97%E6%B3%95%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90%E4%B9%8B%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/" title="算法设计与分析之动态规划">算法设计与分析之动态规划</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2020-11-14T06:26:24.515Z" title="发表于 2020-11-14 14:26:24">2020-11-14</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-12-21T11:20:53.489Z" title="更新于 2020-12-21 19:20:53">2020-12-21</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/gitee.io/categories/%E7%AE%97%E6%B3%95%E5%88%86%E6%9E%90%E4%B8%8E%E8%AE%BE%E8%AE%A1/">算法分析与设计</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/gitee.io/tags/%E7%AE%97%E6%B3%95/">算法</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/gitee.io/tags/%E4%B8%8A%E8%AF%BE%E7%AC%94%E8%AE%B0/">上课笔记</a></span></div><div class="content">算法设计与分析之动态规划一、要点1. 什么是动态规划算法动态规划算法与分治法类似，其基本思想是将待求问题分解成若干个子问题，先求子问题，再结合这些子问题的解得到原问题的解，与分治法不同的是，动态规划会将前面求得的子问题的解保存在一个表中，在需要时用到以求得的答案，这样避免了重复的大量计算。
2. 动态规划的步骤
找出最优解的性质，并刻画其结构特征。
递归的定义最优值。
自底向上的方式计算最优值。

根据计算最优值时得到的信息，构造最优解。


3. 动态规划算法的基本要素
最优子结构性质：问题的最优解包含子问题的最优解，反过来说，我们可以通过子问题的最优解求出问题的最优解。也可以理解为，后面的状态可以通过前面的状态推到出来。
重叠子问题性质：不同的决策序列，到达某个相同的阶段时，可能会产生重复的状态

二、习题以及解析1. 独立任务最优调度问题题目： 用2台处理机$A$和$B$处理$n$个作业。设第i个作业交给机器A处理时需要时间$a_i$,若由机器B来处理，则需要时间$b_i$。由于各作业的特点和机器的性能关系，很可能对于某些$i$ ,有$a_i\geq b_i$ ，而对于某些$j$ ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/gitee.io/2020/09/08/2020-09-08-%E5%90%91%E6%B0%B4%E5%AD%A6%E4%B9%A0/" title="向水学习">     <img class="post_bg" src="https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/7801.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="向水学习"></a></div><div class="recent-post-info"><a class="article-title" href="/gitee.io/2020/09/08/2020-09-08-%E5%90%91%E6%B0%B4%E5%AD%A6%E4%B9%A0/" title="向水学习">向水学习</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2020-09-07T16:00:00.000Z" title="发表于 2020-09-08 00:00:00">2020-09-08</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-09-08T13:45:53.551Z" title="更新于 2020-09-08 21:45:53">2020-09-08</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/gitee.io/categories/%E6%95%A3%E6%96%87%E9%9B%86/">散文集</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/gitee.io/tags/%E6%95%A3%E6%96%87/">散文</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/gitee.io/tags/%E6%96%87%E7%AB%A0/">文章</a></span></div><div class="content"> 向水学习黄永武地水火风，水是构成大千世界的要素之一，随处展现在眼前，又是水流动，有时水停蓄，老子看了就说：“最美妙的就是水，它简直就是道！”孔子看水也激动地大叫：“水载，水载。”表示他内心美妙得难以形容的赞叹！
古人对水为什么如此崇拜？是发现水有哪些德行？望着天天见面的水，该学习哪些方面呢？
水供应万物是普遍而无私的，有了水，万物才能生长；有了水，国家才安宁。水，有利于万物，却不与万物争利，最有德行。
水处在大家厌恶的地下，一切污秽丢向它，它的默默接受，尽管是废水污水，他总是要努力净化污秽成为洁美，他像善于教化的老师。
水有“去盈就备”的性格，水愈大，处的地位愈地，海处在最卑下的位置，百川都归向它，它像一个有道而修养深厚的哲人，也像最重义气的老大。
水载悬崖绝壁上奔腾而下，踩落再深的坑谷，也不回顾，像果决赴难的英雄，不畏粉神碎骨，真勇敢。
水流过去，不管有坑洞，有高坡，最后汪洋万里都安于一律平等，像法律。
水最柔弱，但持之以恒，竟滴水穿石。水源着一定的理走，再小的地方也不放过，何处有缝隙，水就浸润透达，它明察秋毫，像一个智者。
千缨万折的水，不改变东向的决心，历险致远，就像不可劫夺的 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/gitee.io/2020/08/30/2020-08-30-%E8%80%83%E7%A0%94%E4%BD%93%E9%AA%8C%E8%90%A5----%E8%8B%B1%E8%AF%AD%E8%AF%95%E8%AE%B2/" title="考研体验营----英语试讲">     <img class="post_bg" src="https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=2960204279,265900020&amp;fm=26&amp;gp=0.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="考研体验营----英语试讲"></a></div><div class="recent-post-info"><a class="article-title" href="/gitee.io/2020/08/30/2020-08-30-%E8%80%83%E7%A0%94%E4%BD%93%E9%AA%8C%E8%90%A5----%E8%8B%B1%E8%AF%AD%E8%AF%95%E8%AE%B2/" title="考研体验营----英语试讲">考研体验营----英语试讲</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2020-08-29T16:00:00.000Z" title="发表于 2020-08-30 00:00:00">2020-08-30</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-10-17T13:45:40.213Z" title="更新于 2020-10-17 21:45:40">2020-10-17</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/gitee.io/categories/%E8%80%83%E7%A0%94%E7%B1%BB/">考研类</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/gitee.io/tags/%E8%80%83%E7%A0%94/">考研</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/gitee.io/tags/%E8%8B%B1%E8%AF%AD/">英语</a></span></div><div class="content">领航体验营——英语一、考研英语基本常识：1. 考研英语考什么



题号
题目
题数
分数占比




1
完形填空
20个空
共十分


2
阅读
20个题
共四十分


3
新题型
5个题
共十分


4
翻译（英译汉）
5个题（一卷）一段话（二卷）
10（一）15（二）


5
作文
小作文
10分


6
作文
大作文
20分（二）15分（一）




2. 英语基本功：
单词：考试掌握5500词汇以及相关短语，除此之外，还应掌握词汇之间词义意思：同义词，近义词，反义词，掌握词汇之间的搭配关系，如动词与介词，形容词与介词，形容词与名字。掌握词汇生成的基本知识，如词源，词根，词缀等。
另外，大纲中许多单词特殊形式未在词汇表中直接出现，但作为派生词而不是生词。

语法：语法知识尤为重要，长难句解析。

思维：出题规律，解题方法以及个人思维。注：阅读题大多出自外国著名期刊，但出题人却是中国人，因此思维逻辑很重要。


二、课上笔记1、如何背单词
词根词缀法：
| 词根或词缀 | 意思            | 例                       | 解释          ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/gitee.io/2020/08/13/Mac%E4%B8%8A%E5%A5%BD%E7%94%A8%E7%9A%84%E6%95%B2%E4%BB%A3%E7%A0%81%E8%BD%AF%E4%BB%B6CodeRunner/" title="Mac上好用的敲代码软件CodeRunner外加破解">     <img class="post_bg" src="http://img.9553.com/uploadfile/2018/1002/20181002040816433.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="Mac上好用的敲代码软件CodeRunner外加破解"></a></div><div class="recent-post-info"><a class="article-title" href="/gitee.io/2020/08/13/Mac%E4%B8%8A%E5%A5%BD%E7%94%A8%E7%9A%84%E6%95%B2%E4%BB%A3%E7%A0%81%E8%BD%AF%E4%BB%B6CodeRunner/" title="Mac上好用的敲代码软件CodeRunner外加破解">Mac上好用的敲代码软件CodeRunner外加破解</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2020-08-13T14:13:53.000Z" title="发表于 2020-08-13 22:13:53">2020-08-13</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-08-28T13:16:26.110Z" title="更新于 2020-08-28 21:16:26">2020-08-28</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/gitee.io/categories/Mac%E9%AA%9A%E6%93%8D%E4%BD%9C/">Mac骚操作</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/gitee.io/tags/Mac/">Mac</a></span></div><div class="content">Powerful IDE level code completion for most languages有时候我们会一下子学好多语言，仅是用它写写算法而已。对于每一个语言都特意去下在一个IDE的话，无疑是件浪费时间和空间的事情，或许你可以用VS Code ，但是插件的下载与安装也是比较麻烦的。我介绍一个万能IDE—————-&gt; Code Runner他几乎支持的了所有语言，如果没有你想要的，你也可以手动添加。他的界面如xcode一样，非常的美观，清楚。支持代码自动补全，同样也支持很多主题。
运行之后还会显示运行时间。。
功能强大 仅有270多MB 是不是心动了呢?然而没错它是需要付费的。
然而不废话—-
1. 直接登录官网下载2. 断网激活：安装成功后，选择输入激活码。并断网。激活码网上都有，我就不找啦。几乎是随便一个就可以。成功后会有一个successfully
3. 修改hosts文件：打开终端，开启root权限：
1sudo su 
输入密码后，打开hosts文件位置：
1cd /private/etc 
然后用vim打开 hosts文件：
1vim hosts
进入此文 ...</div></div></div><nav id="pagination"><div class="pagination"><a class="extend prev" rel="prev" href="/gitee.io/"><i class="fas fa-chevron-left fa-fw"></i></a><a class="page-number" href="/gitee.io/">1</a><span class="page-number current">2</span><a class="page-number" href="/gitee.io/page/3/#content-inner">3</a><a class="page-number" href="/gitee.io/page/4/#content-inner">4</a><a class="extend next" rel="next" href="/gitee.io/page/3/#content-inner"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="card-info-avatar is-center"><img class="avatar-img" src="/gitee.io/img/My%20avatar.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/friend_404.gif'" alt="avatar"/><div class="author-info__name">Charles Yan</div><div class="author-info__description">脑子有智慧，心里有担当，事事有着落，见见有回应</div></div><div class="card-info-data"><div class="card-info-data-item is-center"><a href="/gitee.io/archives/"><div class="headline">文章</div><div class="length-num">38</div></a></div><div class="card-info-data-item is-center"><a href="/gitee.io/tags/"><div class="headline">标签</div><div class="length-num">22</div></a></div><div class="card-info-data-item is-center"><a href="/gitee.io/categories/"><div class="headline">分类</div><div class="length-num">12</div></a></div></div><a class="button--animated" id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/yan122927467"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/yan122927467" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:122927467@qq.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn card-announcement-animation"></i><span>公告</span></div><div class="announcement_content">考研ing，不定时更新。。。</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/gitee.io/2021/10/24/git%E5%91%BD%E4%BB%A4%E4%BB%A5%E5%8F%8A%E8%BF%9C%E7%A8%8B%E9%83%A8%E7%BD%B2gitee/" title="无题"><img src="https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/7801.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="无题"/></a><div class="content"><a class="title" href="/gitee.io/2021/10/24/git%E5%91%BD%E4%BB%A4%E4%BB%A5%E5%8F%8A%E8%BF%9C%E7%A8%8B%E9%83%A8%E7%BD%B2gitee/" title="无题">无题</a><time datetime="2021-10-24T07:56:21.987Z" title="发表于 2021-10-24 15:56:21">2021-10-24</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/gitee.io/2021/06/27/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/" title="网络安全复习提纲"><img src="https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/12998.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="网络安全复习提纲"/></a><div class="content"><a class="title" href="/gitee.io/2021/06/27/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/" title="网络安全复习提纲">网络安全复习提纲</a><time datetime="2021-06-27T01:33:46.091Z" title="发表于 2021-06-27 09:33:46">2021-06-27</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/gitee.io/2021/06/24/%E4%BF%A1%E6%81%AF%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8%E5%AE%9E%E8%AE%AD%E7%AC%AC%E5%9B%9B%E5%A4%A9/" title="信息系统安全实训第四天"><img src="https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/12998.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="信息系统安全实训第四天"/></a><div class="content"><a class="title" href="/gitee.io/2021/06/24/%E4%BF%A1%E6%81%AF%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8%E5%AE%9E%E8%AE%AD%E7%AC%AC%E5%9B%9B%E5%A4%A9/" title="信息系统安全实训第四天">信息系统安全实训第四天</a><time datetime="2021-06-24T15:13:39.255Z" title="发表于 2021-06-24 23:13:39">2021-06-24</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/gitee.io/2021/06/23/%E5%AF%86%E7%A0%81%E5%AD%A6%E5%A4%8D%E4%B9%A0%E6%8F%90%E7%BA%B2/" title="密码学复习提纲"><img src="https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/3989.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="密码学复习提纲"/></a><div class="content"><a class="title" href="/gitee.io/2021/06/23/%E5%AF%86%E7%A0%81%E5%AD%A6%E5%A4%8D%E4%B9%A0%E6%8F%90%E7%BA%B2/" title="密码学复习提纲">密码学复习提纲</a><time datetime="2021-06-23T12:59:21.722Z" title="发表于 2021-06-23 20:59:21">2021-06-23</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/gitee.io/2021/06/23/%E4%BF%A1%E6%81%AF%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8%E5%AE%9E%E8%AE%AD%E7%AC%AC%E4%B8%89%E5%A4%A9/" title="信息系统安全实训第三天"><img src="https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/7801.jpg" onerror="this.onerror=null;this.src='/gitee.io/img/404.jpg'" alt="信息系统安全实训第三天"/></a><div class="content"><a class="title" href="/gitee.io/2021/06/23/%E4%BF%A1%E6%81%AF%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8%E5%AE%9E%E8%AE%AD%E7%AC%AC%E4%B8%89%E5%A4%A9/" title="信息系统安全实训第三天">信息系统安全实训第三天</a><time datetime="2021-06-23T11:04:52.832Z" title="发表于 2021-06-23 19:04:52">2021-06-23</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
            <i class="fas fa-folder-open"></i>
            <span>分类</span>
            <a class="card-more-btn" href="/gitee.io/categories/" title="查看更多">
    <i class="fas fa-angle-right"></i></a>
            </div>
            <ul class="card-category-list" id="aside-cat-list">
            <li class="card-category-list-item "><a class="card-category-list-link" href="/gitee.io/categories/IOS%E5%BC%80%E5%8F%91/"><span class="card-category-list-name">IOS开发</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/gitee.io/categories/Mac%E9%AA%9A%E6%93%8D%E4%BD%9C/"><span class="card-category-list-name">Mac骚操作</span><span class="card-category-list-count">5</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/gitee.io/categories/Microsoft%E6%8A%80%E8%83%BD/"><span class="card-category-list-name">Microsoft技能</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/gitee.io/categories/%E4%B8%8A%E8%AF%BE%E7%AC%94%E8%AE%B0/"><span class="card-category-list-name">上课笔记</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/gitee.io/categories/%E5%AF%86%E7%A0%81%E5%AD%A6%E5%AE%9E%E9%AA%8C/"><span class="card-category-list-name">密码学实验</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/gitee.io/categories/%E5%BE%81%E6%9C%8DC%E6%8C%87%E9%92%88/"><span class="card-category-list-name">征服C指针</span><span class="card-category-list-count">3</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/gitee.io/categories/%E6%95%A3%E6%96%87%E9%9B%86/"><span class="card-category-list-name">散文集</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/gitee.io/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/"><span class="card-category-list-name">数据库</span><span class="card-category-list-count">1</span></a></li>
            </ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/gitee.io/tags/%E8%80%83%E7%A0%94/" style="font-size: 1.15em; color: rgb(19, 72, 86)">考研</a><a href="/gitee.io/tags/%E8%8B%B1%E8%AF%AD/" style="font-size: 1.15em; color: rgb(170, 177, 182)">英语</a><a href="/gitee.io/tags/%E6%95%A3%E6%96%87/" style="font-size: 1.15em; color: rgb(65, 17, 0)">散文</a><a href="/gitee.io/tags/%E6%96%87%E7%AB%A0/" style="font-size: 1.15em; color: rgb(28, 40, 67)">文章</a><a href="/gitee.io/tags/mac%E4%B8%8Ewindows%E5%85%BC%E5%AE%B9%E6%80%A7/" style="font-size: 1.15em; color: rgb(37, 159, 16)">mac与windows兼容性</a><a href="/gitee.io/tags/C%E6%8C%87%E9%92%88/" style="font-size: 1.25em; color: rgb(74, 97, 186)">C指针</a><a href="/gitee.io/tags/MySQL/" style="font-size: 1.15em; color: rgb(179, 169, 84)">MySQL</a><a href="/gitee.io/tags/Mac/" style="font-size: 1.3em; color: rgb(52, 152, 41)">Mac</a><a href="/gitee.io/tags/LeeCode/" style="font-size: 1.15em; color: rgb(113, 67, 160)">LeeCode</a><a href="/gitee.io/tags/%E7%AE%97%E6%B3%95/" style="font-size: 1.45em; color: rgb(154, 116, 0)">算法</a><a href="/gitee.io/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/" style="font-size: 1.4em; color: rgb(180, 108, 6)">数据结构</a><a href="/gitee.io/tags/%E4%B8%8A%E8%AF%BE%E7%AC%94%E8%AE%B0/" style="font-size: 1.45em; color: rgb(93, 12, 137)">上课笔记</a><a href="/gitee.io/tags/sql%E8%AF%AD%E5%8F%A5/" style="font-size: 1.15em; color: rgb(81, 186, 153)">sql语句</a><a href="/gitee.io/tags/markdown/" style="font-size: 1.15em; color: rgb(57, 187, 115)">markdown</a><a href="/gitee.io/tags/swift/" style="font-size: 1.2em; color: rgb(159, 49, 200)">swift</a><a href="/gitee.io/tags/swiftUI/" style="font-size: 1.15em; color: rgb(18, 91, 1)">swiftUI</a><a href="/gitee.io/tags/word%E6%8A%80%E5%B7%A7/" style="font-size: 1.15em; color: rgb(182, 20, 60)">word技巧</a><a href="/gitee.io/tags/vim/" style="font-size: 1.15em; color: rgb(153, 76, 2)">vim</a><a href="/gitee.io/tags/%E7%BD%91%E7%BB%9C%E6%94%BB%E9%98%B2/" style="font-size: 1.35em; color: rgb(155, 90, 94)">网络攻防</a><a href="/gitee.io/tags/PTA/" style="font-size: 1.35em; color: rgb(99, 116, 98)">PTA</a><a href="/gitee.io/tags/%E4%B8%8A%E8%AF%BE%E7%AC%94%E8%AE%B0-%E7%AE%97%E6%B3%95/" style="font-size: 1.15em; color: rgb(102, 41, 61)">上课笔记 - 算法</a><a href="/gitee.io/tags/%E5%AF%86%E7%A0%81%E5%AD%A6/" style="font-size: 1.15em; color: rgb(55, 67, 35)">密码学</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>归档</span><a class="card-more-btn" href="/gitee.io/archives/" title="查看更多">
    <i class="fas fa-angle-right"></i></a></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/gitee.io/archives/2021/10/"><span class="card-archive-list-date">十月 2021</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/gitee.io/archives/2021/06/"><span class="card-archive-list-date">六月 2021</span><span class="card-archive-list-count">9</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/gitee.io/archives/2021/04/"><span class="card-archive-list-date">四月 2021</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/gitee.io/archives/2020/12/"><span class="card-archive-list-date">十二月 2020</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/gitee.io/archives/2020/11/"><span class="card-archive-list-date">十一月 2020</span><span class="card-archive-list-count">3</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/gitee.io/archives/2020/09/"><span class="card-archive-list-date">九月 2020</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/gitee.io/archives/2020/08/"><span class="card-archive-list-date">八月 2020</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/gitee.io/archives/2020/07/"><span class="card-archive-list-date">七月 2020</span><span class="card-archive-list-count">1</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">38</div></div><div class="webinfo-item"><div class="item-name">已运行时间 :</div><div class="item-count" id="runtimeshow" data-publishDate="2019-12-31T16:00:00.000Z"></div></div><div class="webinfo-item"><div class="item-name">本站总字数 :</div><div class="item-count">36.9k</div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"></div></div><div class="webinfo-item"><div class="item-name">本站总访问量 :</div><div class="item-count" id="busuanzi_value_site_pv"></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2021-12-31T01:59:06.315Z"></div></div></div></div></div></div></main><footer id="footer" style="background-image: url('https://gitee.com/yan_zilong/picgo/raw/master/img/Blog/post/密码学复习提纲/16922.jpg')"><div id="footer-wrap"><div class="copyright">&copy;2020 - 2021 By Charles Yan</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div><div class="footer_custom_text">Hi, welcome to my <a target="_blank" rel="noopener" href="https:charlesyan.cn/">blog</a>!</div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="font-plus" type="button" title="放大字体"><i class="fas fa-plus"></i></button><button id="font-minus" type="button" title="缩小字体"><i class="fas fa-minus"></i></button><button id="translateLink" type="button" title="简繁转换">简</button><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="chat_btn" type="button" title="rightside.chat_btn"><i class="fas fa-sms"></i></button><button id="go-up" type="button" title="回到顶部"><i class="fas fa-arrow-up"></i></button></div></div><div id="local-search"><div class="search-dialog"><div class="search-dialog__title" id="local-search-title">本地搜索</div><div id="local-input-panel"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div></div><hr/><div id="local-search-results"></div><span class="search-close-button"><i class="fas fa-times"></i></span></div><div id="search-mask"></div></div><div><script src="/gitee.io/js/utils.js"></script><script src="/gitee.io/js/main.js"></script><script src="/gitee.io/js/tw_cn.js"></script><script src="https://cdn.jsdelivr.net/npm/medium-zoom/dist/medium-zoom.min.js"></script><script src="https://cdn.jsdelivr.net/npm/instant.page/instantpage.min.js" type="module"></script><script src="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js"></script><script>function panguFn () {
  if (typeof pangu === 'object') pangu.autoSpacingPage()
  else {
    getScript('https://cdn.jsdelivr.net/npm/pangu/dist/browser/pangu.min.js')
      .then(() => {
        pangu.autoSpacingPage()
      })
  }
}

function panguInit () {
  if (false){
    GLOBAL_CONFIG_SITE.isPost && panguFn()
  } else {
    panguFn()
  }
}

document.addEventListener('DOMContentLoaded', panguInit)</script><script src="/gitee.io/js/search/local-search.js"></script><script>var preloader = {
  endLoading: () => {
    document.body.style.overflow = 'auto';
    document.getElementById('loading-box').classList.add("loaded")
  },
  initLoading: () => {
    document.body.style.overflow = '';
    document.getElementById('loading-box').classList.remove("loaded")

  }
}
window.addEventListener('load',preloader.endLoading())</script><div class="js-pjax"><script>function subtitleType () {
  fetch('https://api.btstu.cn/yan/api.php?charset=utf-8&encode=json')
    .then(response => response.json())
    .then(data => {
      if (true) {
        var sub = "永远不足 永远努力".length == 0 ? new Array() : "永远不足 永远努力".split(',')
        var both = sub.unshift(data.text)
        typed = new Typed('#subtitle', {
          strings: sub,
          startDelay: 300,
          typeSpeed: 150,
          loop: true,
          backSpeed: 50,
        })
      } else {
        document.getElementById('subtitle').innerHTML = data.text
      }
    })
}

if (true) {
  if (typeof Typed === 'function') {
    subtitleType()
  } else {
    getScript('https://cdn.jsdelivr.net/npm/typed.js/lib/typed.min.js').then(subtitleType)
  }
} else {
  subtitleType()
}
</script><script>if (document.getElementsByClassName('mermaid').length) {
  if (window.mermaidJsLoad) mermaid.init()
  else {
    getScript('https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js').then(() => {
      window.mermaidJsLoad = true
      mermaid.initialize({
        theme: 'default',
      })
      false && mermaid.init()
    })
  }
}</script></div><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>